<?php

/**
 * afiliacion actions.
 *
 * @package    kernel
 * @subpackage afiliacion
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 2288 2006-10-02 15:22:13Z fabien $
 */
class afiliacionActions extends autoafiliacionActions
{


  protected function saveContratacionAfiliacion($contratacion_afiliacion)
  {
    if($contratacion_afiliacion->isNew())
    $contratacion_afiliacion->setFechaCreacion(date('Y-m-d H:i'));
    $estado = $contratacion_afiliacion->save();

      // Update many-to-many for "servicios"
      $c = new Criteria();
      $c->add(ContratacionAfiliacionAServicioPeer::AFILIACION_ID, $contratacion_afiliacion->getPrimaryKey());
      ContratacionAfiliacionAServicioPeer::doDelete($c);

      $ids = $this->getRequestParameter('associated_servicios');
      if (is_array($ids))
      {
        foreach ($ids as $id)
        {
          $ContratacionAfiliacionAServicio = new ContratacionAfiliacionAServicio();
          $ContratacionAfiliacionAServicio->setAfiliacionId($contratacion_afiliacion->getPrimaryKey());
          $ContratacionAfiliacionAServicio->setServicioId($id);
          $ContratacionAfiliacionAServicio->save();
        }
      }


      $aats = $contratacion_afiliacion->getContratacionAfiliacionATerceros();
      foreach($aats as $o)
        $o->delete();
      
      if(count($this->getRequestParameter('cliente')) > 0)
      {
        $clientes_por_afiliacion = $this->getRequestParameter('cliente');
        foreach ( $clientes_por_afiliacion as $cliente)
        {
          $tmp = explode('~', $cliente);
          $tercero_id = $tmp[0];

          $obj = new ContratacionAfiliacionATercero();
          $obj->setTerceroId($tercero_id);
          $obj->setAfiliacionId($contratacion_afiliacion->getId());
          $obj->save();
        }
      }


      $objs = $contratacion_afiliacion->getContratacionAfiliacionAVehiculos();
      foreach($objs as $o)
        $o->delete();
      
      if(count($this->getRequestParameter('vehiculo')) > 0)
      {
        $vehiculos_por_afiliacion = $this->getRequestParameter('vehiculo');
        foreach ( $vehiculos_por_afiliacion as $vehiculo)
        {
          $tmp = explode('~', $vehiculo);
          $vehiculo_id = $tmp[0];

          $obj = new ContratacionAfiliacionAVehiculo();
          $obj->setVehiculoId($vehiculo_id);
          $obj->setAfiliacionId($contratacion_afiliacion->getId());
          $obj->save();
        }
      }


    return $estado;
  }

 /* protected function saveContratacionAfiliacion($contratacion_afiliacion)
  {
       
	if($contratacion_afiliacion->isNew())
        $contratacion_afiliacion->setFechaCreacion(date('Y-m-d H:i'));
        

    	return parent::saveContratacionAfiliacion($contratacion_afiliacion);
  }
*/


}
